package com.city.itis.service;

import java.util.List;

import com.city.itis.domain.Site;


/**
 * Site业务接口
 * @author WY
 *
 **/

	
	public interface SiteService
	{
		/**
		 * 添加Site方法
		 * @param site
		 * @return 0:添加失败；>1:添加成功
		 */
		public int add(Site site);
		
		/**
		 * 删除Site方法
		 * @param site
		 * @return 0:删除失败；>1:删除成功
		 */
		public int delete(Site site);
		
		/**
		 * 根据Site编号，删除Site方法
		 * @param id 编号
		 * @return 0:删除失败；>1:删除成功
		 */
		public int deleteById(Integer id);
		
		/**
		 * 根据会员编号，删除所有与该会员相关联的站点方法。
		 * @param id	会员编号
		 * @return
		 */
		public int deleteByMemberId(Integer id);
		
		/**
		 * 修改Site方法
		 * @param site 
		 * @return 0:修改失败；>1:修改成功
		 */
		public int modify(Site site);
		
		/**
		 * 根据Site编号，查询Site信息
		 * @param id
		 * @return 成功：返回Site对象；失败：返回null。
		 */
		public Site getSiteById(Integer id);
		
		
		/**
		 * 根据站点名称，查询站点信息方法。
		 * @param siteName
		 * @return
		 */
		public Site getSiteBySiteName(String siteName);
		
		
		/**
		 * 根据类别编号，查询所用站点信息
		 * @return 成功：返回站点List<Site>对象；失败：返回null。
		 */
		public List<Site> findAllByCategoryNo(Integer categoryNo);
		
		/**
		 * 查询所用Site信息
		 * @return 成功：返回SiteList<site>对象；失败：返回null。
		 */
		public List<Site> findAll();
		
		/**
		 * 根据类别和位置查询方法
		 * @param categoryNo
		 * @param lat
		 * @param lng
		 * @param area
		 * @return
		 */
		public List<Site> getListByCategoryAndPosition(final int categoryNo,
				final double lat,final double lng,final double area);
		
		/**
		 * 根据类别和位置查询方法
		 * @param name	站点名称
		 * @param lat	纬度
		 * @param lng	经度
		 * @param area	范围
		 * @return
		 */
		public List<Site> getListByNameAndPosition(final String name,
				final double lat,final double lng,final double area);
		
		/**
		 * 根据会员编号，显示所有站点信息
		 * @param memberId
		 * @return List<Site>
		 */
		public List<Site> listByMemberId(Integer memberId);
	}
